Featured Post

Can the Maple community make exact integrability computations substantially faster?

For a planar polynomial vector field
[
D=A(x,y)\partial_x+B(x,y)\partial_y,
]
a Darboux polynomial is a nonconstant polynomial (f) satisfying
[
D(f)=Kf
]
for a polynomial cofactor (K). These invariant algebraic curves are fundamental building blocks in the search for first integrals and integrating factors.

The subject reaches back to Darboux’s nineteenth-century work and connects with the Prelle–Singer and Singer theories of elementary and Liouvillian integrability. Turning these structural results into effective, reliable programs remains an important computational problem. Given Maple’s long tradition in symbolic differential equations, MaplePrimes seems an ideal place to invite a practical challenge.

The starting point

Bostan, Chèze, Cluzeau and Weil developed algorithms for bounded-degree rational first integrals and Darboux polynomials using local solutions and extactic constructions. Related ideas appear in Chèze–Combot’s algorithms for symbolic first integrals and Combot’s work on symbolic integration of planar differential foliations. These works include Maple implementations.

They provide powerful mathematical frameworks, but their implementations can encounter substantial practical difficulties:

  • coefficient growth in exact truncated series;

  • expression swell in parameter-dependent extactic matrices, polynomial minors and Smith-form computations;

  • expensive matrix assembly, exact linear algebra and reconstruction.

The bottleneck depends on the input and the implementation. Improving the kernel solver alone may achieve little when exact series construction dominates.

Our current baseline

We have implemented practical optimizations within these frameworks: jet-based constructions, truncated-series arithmetic, avoidance of full Smith-form computation in the Darboux code, modular filtering and linear algebra, rational reconstruction, and exact verification.

These are our current best-performing implementations, offered as reproducible baselines for further improvement—not as a claim of universal optimality.

For Darboux polynomials:

restart:
read "PATH/TO/FastDarboux.mpl":

A := 1:
B := 4*x^3 + y - x^4 - 1:
N := 4:

R := FastDarboux:-All(A,B,N,x,y):
R[status];
R[curves];
R[rational_curves];

The records in rational_curves are pairs [f,K]. Algebraic coefficient extensions are represented in curves. The status "finite_complete" certifies complete finite enumeration within the stated scope; rational-first-integral and other exceptional cases have separate statuses.

A single-section calculation is available through:

R := FastDarboux:-Partial(A,B,N,0,x,y):

This searches using the section (x=0); its scope must not be confused with complete enumeration.

For the Liouvillian integrating-factor benchmark:

restart:
read "PATH/TO/Combot.mpl":
read "PATH/TO/slow_example.mpl":

st := time[real]():
R := IntegratingFactor(B/A,[-1,0],27):
time[real]() - st;

The benchmark file supplies (A,B). The implementation prints a completion status.

For this example, on our Maple 2026 test system, the complete call took about 123 seconds:

Exact series construction 100.4 s
Matrix preparation, modular kernels, reconstruction and kernel certification 21.9 s
Total, including integrating-factor recovery 123.1 s

The returned integrating factor was independently verified by exact identities. These measurements describe one benchmark, not a general complexity claim.

Source code: Source code-Huang 
Documentation and mathematical scope: Documentation-Huang 
Benchmark inputs, environment and logs: Benchmark-Huang

The challenge

Improve end-to-end wall-clock time and memory use while preserving soundness and completeness for an explicitly stated bounded problem.

A better asymptotic bound is welcome, but it is not the primary objective. In exact symbolic computation, a field operation has no fixed machine cost: coefficient sizes, normalization, intermediate representations and data movement can outweigh an attractive exponent.

Technical improvements and well-designed heuristics are especially welcome. Possible directions include finite-field series construction, better precision management, adaptive reconstruction, structured linear algebra, improved candidate selection, or entirely different approaches.

Heuristics are welcome when their role is explicit: a failed heuristic must not silently become a proof of nonexistence. Likewise, verifying every returned curve proves soundness, but does not by itself prove completeness.

Please state degree bounds and assumptions, distinguish “no solution within the bound” from “inconclusive,” and handle rational-first-integral or infinite-family cases explicitly. This challenge does not assume that bounded searches settle unrestricted Liouvillian integrability. The current integrating-factor code also does not claim to return a minimal representation.

For performance comparisons, please include the whole computation, including preprocessing, series, reconstruction and certification, and compare tasks with the same mathematical scope.

AI tools have made remarkable progress in mathematical reasoning and programming. This is a concrete opportunity to use them on a longstanding computational problem. Contributions from anyone are welcome, with or without AI assistance: Maple code, compiled backends, mathematical arguments, counterexamples, profiling observations, or small improvements that make an important difference.

Please post suggestions, implementations, benchmarks and supporting arguments directly in the comments. The goal is a faster, reproducible and mathematically trustworthy solver.

Featured Post

Did you know that October 24th, 2026, is a very special day for us math lovers? Writing the date as 10/24/26, the date creates the following Pythagorean triple:

10² + 24² = 26²

Making it a Pythagorean Theorem Day! In fact, it is the very last one of the century (the next being in 2105). Over the years, our Maple community has been exploring some incredibly interesting ways of visualizing, proving, and applying one of math's most famous theorems!

To celebrate this great day, I thought we could revisit some of our coolest posts on the topic.

Since we are celebrating a pythagorean triple day, the Maple Learn post on Generating Pythagorean Triples is a great way to explore the theorem. Any three positive integers that satisfy the pythagorean formula are considered one of these triples (the most popular being 3, 4, and 5). The generation of these values can be looked at from both a geometric and algebraic perspective!

One of the coolest things about the Pythagorean Theorem is that we are still discovering new ways to prove it! Traditionally, a geometric method was used to prove the theorem, as can be seen in this Maple Learn post. But in only 2023 two high school students, Calcea Johnson and Ne'Kiya Jackson, presented a new trigonometric proof for the Pythagorean Theorem. 

This was incredible since most trigonometric proofs are based upon the theorem itself, so being able to prove it without these was very impressive! You can explore their approach in Johnson and Jackson's Proof of the Pythagorean Theorem, or read more about it in the MaplePrimes post New Proof of the Pythagorean Theorem.

This even inspired some mathematical artwork in Maplesoft's art competition, Paige Stone created an embroidery piece Infinite Similar Triangles based on the Johnson-Jackson triangle construction. What a fun reminder that math is just as creative as it is logical!

The Pythagorean Theorem is mostly thought of as a right triangle problem, but it is so much more than that!

Consider the Staircase Paradox. If you keep decreasing the size of steps to a staircase, the shape begins to look like a straight diagonal, but the length does not approach the length of that diagonal! The Pythagorean Theorem helped us uncover the surprising behavior behind these limits. 

Another interesting application is in Finding the Shortest Path Between Two Points, where the theorem can be applied to arc length calculations. This theorem can show up in some unexpected places! Below is an example of some curves the Pythagorean theorem can be used to calculate!

From geometry, to algebraic and trigonometric proofs, mathematical art or simply a good paradox, the Pythagorean Theorem can be explored endlessly. Do you have a favorite proof, application, or derivation from the Pythagorean Theorem? Try to appreciate it a little more on this day, since we won't have another for a while!